#include <iostream>
using namespace std;

class Person
{
public:
  static int m_a;
  int m_b; // 非静态成员
  static void func()
  {
    m_a = 100; // 静态成员函数可以访问静态成员变量
    // m_b = 200;  // 静态成员函数不可以访问非静态成员变量，无法区分到底是哪个对象的属性
    cout << "static func 调用" << endl;
  }

  // 静态成员函数也有访问权限
private:
  static void func2()
  {
    cout << "static func2 调用" << endl;
  }
};

int Person::m_a = 0;

void test01()
{
  // 1.通过对象访问
  Person p;
  p.func();

  // 2.通过类名访问
  Person::func();
  // Person::func2(); // 类外访问不到私有静态成员函数
}

int main(int argc, char const *argv[])
{
  test01();

  return 0;
}